﻿using Learn.Net8.Common.Core;
using Microsoft.AspNetCore.Builder;
using Serilog;

namespace Learn.Net8.Extension.ServiceExtensions
{
    public static class ApplicationSetup
    {
        public static void UseApplicationSetup(this WebApplication app)
        {
            // app 的生命周期开始的时候，注册 App 类的 IsRun 属性为 true
            app.Lifetime.ApplicationStarted.Register(() =>
            {
                App.IsRun = true;
            });
            // app 的生命周期结束的时候，注册 App 类的 IsRun 属性为 false
            app.Lifetime.ApplicationStopped.Register(() =>
            {
                App.IsRun = false;

                //清除日志
                Log.CloseAndFlush();
            });
        }
    }
}
